﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 七天入手上位机第一个项目
{
    //这里定义了一个FrmLogin类，继承自Form类，同时初始化了窗体组件。接下来是按钮的点击事件处理函数btn_Login_Click和btn_Exit_Click，分别对应登录按钮和退出按钮的点击操作。
    public partial class FrmLogin : Form
    { 
        public FrmLogin()
        {
            InitializeComponent();  // 初始化窗体组件
        }
        //在btn_Login_Click事件处理函数中，判断了用户名和密码的输入状态，并根据不同情况弹出相应的消息框。如果用户名和密码都输入正确，则将用户名存入窗体标签，并设置窗体对话框结果为OK。在btn_Exit_Click事件处理函数中，调用Application.Exit()方法退出应用程序。
        private void btn_Login_Click(object sender, EventArgs e)
        {
            // 登录按钮点击事件处理
            if (this.txt_UserName.Text == "")
            {
                MessageBox.Show("请输入用户名！");  // 弹出消息框，提示输入用户名
                return;
            }
            if (this.txt_PassWord.Text == "")
            {
                MessageBox.Show("请输入密码");  // 弹出消息框，提示输入密码
                return;
            }
            if (this.txt_PassWord.Text != "admin")
            {
                MessageBox.Show("密码错误！");  // 弹出消息框，提示密码错误
                return;
            }
            this.Tag = txt_UserName.Text;  // 将用户名存入窗体标签
            this.DialogResult = DialogResult.OK;  // 设置窗体对话框结果为OK
        }

        private void btn_Exit_Click(object sender, EventArgs e)
        {
            Application.Exit();  // 退出应用程序
        }

        //鼠标在窗体上按下并移动时，实现窗体的移动。在Panel_MouseDown事件处理函数中，记录了鼠标按下时的坐标；在Panel_MouseMove事件处理函数中，判断鼠标左键是否处于按下状态，若是，则根据移动的距离修改窗体的位置。
        private Point mPoint;

        private void Panel_MouseDown(object sender, MouseEventArgs e)
        {
            mPoint = new Point(e.X, e.Y);  // 记录鼠标按下时的坐标
        }

        private void Panel_MouseMove(object sender, MouseEventArgs e)
        {
            // 鼠标在按下状态下移动时，实现窗体移动
            if (e.Button == MouseButtons.Left)
            {
                this.Location = new Point(this.Location.X + e.X - mPoint.X, this.Location.Y + e.Y - mPoint.Y);
            }
        }
    }

}
